// rust面向对象
// 封装
// 继承：rust没有继承，但是有trait方法进行代码共享
// 多态：rust使用泛型和trait约束
// 静态派发（编译时确定要调用的具体方法）、动态派发（无法在编译过程中确定你要调用的究竟是什么方法）
// 判断一个对象是否安全
// 1.返回类型不能是Self
// 2.方法中不包含任何泛型类型参数

// 实现面向对象的设计模式
// 状态模式等等
fn main() {
    println!("HELLO WORLD");
}